<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>自增和自减</title>
</head>
<body>
    
</body>
</html>
<script>
    /*
        自增 ++
            - 通过自增可以使变量在自身的基础上增加 1 
            - 对于一个变量自增以后，原变量的值会立即自增 1
            - 自增分两种： 后++(a++)  和 前++(++a)
                无论是a++ 还是++a 都会立即使原变量的值自增 1
                    不同的是a++ 和++a 的值不同
                a++ 的值等于原变量的值（自增前的值）
                ++a 的值等于原变量新值（自增后的值）
    */
    //  a++
    let a = 1;
    a++;
    a++;
    console.log("a = "+a);
    let c = 1;
    console.log("c++ ="+c++); // c++ 的值等于原变量的值 c = 1
    console.log("c = "+c);
// =========================== a++ 的扩展======================//
    let n = 1;
    console.log("n++ = "+n++);
    console.log("n = "+n);
    n++;
    console.log("n++ = "+n++);
    console.log("n = "+n);

    //  ++a
    let b = 1;
    ++b;
    ++b;
    console.log("b = "+b);

    let d = 1;
    console.log("++d = "+ ++d); // ++a 的值等于自增以后的值
    console.log("d = "+d);
/*============================ ++a 的扩展 =======================*/
    let z = 1;
    console.log("z = "+ ++z);
    console.log("z = "+ ++z);

    /* ======================= 扩展 ========================*/

    
    let f = 20;
    let result = f++ + ++f + f ;  
    /*  
        f++ = 20 f=21, ++f = 22 f =22, f = 22。
        f++ 加 ++f 加 result = 20 + 22 + 22, result = 64
    */
    console.log("result = "+result);
    /*================== 扩展2 =======================*/
    let g = 20;

    g = g++;
    /*
        h = g++; g++的值等于原变量的值 20 
        g = h;      
    */
    console.log("g = "+g);
</script>